b7a8a8c739884687b6b71aa417363fb79ff33ade,BaragonService/src/main/java/com/hubspot/baragon/service/BaragonServiceModule.java,BaragonServiceModule,configure,#Binder#,74

Before Change


    binder.bind(BaragonExceptionNotifier.class);

    // Managed
    binder.bind(BaragonExceptionNotifierManaged.class);
    binder.bind(BaragonGraphiteReporterManaged.class);
    binder.bind(BaragonManaged.class);

    // Managers
    binder.bind(AgentManager.class);
    binder.bind(ElbManager.class);
    binder.bind(RequestManager.class);
    binder.bind(ServiceManager.class);
    binder.bind(StatusManager.class);

    // Workers
    binder.bind(BaragonElbSyncWorker.class);
    binder.bind(BaragonRequestWorker.class);
    binder.bind(RequestPurgingWorker.class);


    Multibinder<AbstractLatchListener> latchBinder = Multibinder.newSetBinder(binder, AbstractLatchListener.class);
    latchBinder.addBinding().to(RequestWorkerListener.class);
    latchBinder.addBinding().to(ElbSyncWorkerListener.class);
    latchBinder.addBinding().to(RequestPurgingListener.class);
  }

After Change


    binder.bind(BaragonExceptionNotifier.class).in(Scopes.SINGLETON);

    // Managed
    binder.bind(BaragonExceptionNotifierManaged.class).in(Scopes.SINGLETON);
    binder.bind(BaragonGraphiteReporterManaged.class).in(Scopes.SINGLETON);
    binder.bind(BaragonManaged.class).in(Scopes.SINGLETON);

    // Managers
    binder.bind(AgentManager.class).in(Scopes.SINGLETON);
    binder.bind(ElbManager.class).in(Scopes.SINGLETON);
    binder.bind(RequestManager.class).in(Scopes.SINGLETON);
    binder.bind(ServiceManager.class).in(Scopes.SINGLETON);
    binder.bind(StatusManager.class).in(Scopes.SINGLETON);

    // Workers
    binder.bind(BaragonElbSyncWorker.class).in(Scopes.SINGLETON);
    binder.bind(BaragonRequestWorker.class).in(Scopes.SINGLETON);
    binder.bind(RequestPurgingWorker.class).in(Scopes.SINGLETON);


    Multibinder<AbstractLatchListener> latchBinder = Multibinder.newSetBinder(binder, AbstractLatchListener.class);
    latchBinder.addBinding().to(RequestWorkerListener.class).in(Scopes.SINGLETON);
    latchBinder.addBinding().to(ElbSyncWorkerListener.class).in(Scopes.SINGLETON);
    latchBinder.addBinding().to(RequestPurgingListener.class).in(Scopes.SINGLETON);
  }